跳到主要内容

Git 环境配置

设置签名

作用:区分不同开发人员的身份 注意:这里设置的签名和登陆远程库(代码托管中心)的账号,密码无关

优先级:

  • 就近原则:项目级别优先于系统用户级别,两者都有采用项目级别的签名
  • 如果只有系统用户级别的签名,就以系统用户级别的签名为准
  • 两者都没有不允许

项目级别/仓库级别:仅在当前目录有效

git config user.name 名字
git config user.email 邮箱

系统用户级别:登陆当前操作系统的用户范围

git config --global user.name 名字
git config --global user.email 邮箱

上面的的配置文件存在 .git 的 config 里,通过 cat .git/config 就能查看

[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[user]
name = project_user
email = 3320447910@qq.com

如果要看系统级别的配置文件

cat ~/.gitconfig

[filter "lfs"]
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
clean = git-lfs clean -- %f
[user]
name = alsritter\ngit config --global user.email 3320447910@qq.com
email = 3320447910@qq.com

配置 SSH

参考资料 【Git私服】搭建私有git仓库,免密pull and push

Git 使用 HTTP 协议时,每次 pull, push 都要输入密码,使用 ssh 密钥可以省去每次都输密码。

客户端配置

ssh-keygen

命令会默认在 ~/.ssh/id_rsa.pub 文件里存放了公匙,在 ~/.ssh/id_rsa 文件里存放了密匙。

创建例:

$ ssh-keygen -t rsa -C "your_email@example.com"


$ # 告诉你已经生成了公交和私钥
$ Generating public/private rsa key pair.
$ # 让你输入一个名字来保存内容,不用管,直接回车
$ Enter file in which to save the key (/Users/alsritter/.ssh/id_rsa):
# 输入一次密码
Enter passphrase (empty for no passphrase):
# 再输入一次密码
Enter same passphrase again:
# 私钥已经保存在 /Users/alsritter/.ssh/id_rsa.
Your identification has been saved in /Users/alsritter/.ssh/id_rsa.
# 公钥已经保存在 /Users/alsritter/.ssh/id_rsa.pub.
Your public key has been saved in /Users/alsritter/.ssh/id_rsa.pub.

检查SSH Keys

# 显示出在.ssh文件下的文件,如果存在的话
$ ls -al ~/.ssh

服务器端配置

服务器为 root 用户配置 SSH 公钥,先在服务器上使用 authorized_keys 文件来管理所有用户的 SSH 公钥。(密钥登录的方式比密码登录更安全、更便捷,注意保管好自己的私钥,下面会讲到如何生成秘钥对)

打开服务器的 RSA 认证

# vim /etc/ssh/sshd_config
# (找到下面3行并放开,如果没有添加上)
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

重启 sshd 服务

service sshd restart

客户端操作

生成秘钥对

cd ~/.ssh
ssh-keygen -t rsa -C “youremail@example.com”
(会在 ~/.ssh 目录下生成两个文件 ,id_rsa id_rsa.pub)

上传 id_rsa.pub 到服务的(上传公共秘钥到 git 服务器有以下2种方式)

1、复制本地 id_rsa.pub 到 git 服务器的 /home/username/.ssh/authorized_keys 文件的末尾

2、通过 ftp 等方式上传后,执行以下命令:

cat 源秘钥文件路径 >> /home/git/.ssh/authorized_keys

这样

image.png

注意:是服务端的 ~ 目录(root 目录),不是 admin 目录...

本地多用户

本地需要进行多用户时需要使用到 凭据管理器(Credential manager)

20200420001533

把这个删掉就可以重新登陆到其他的用户了

忽略文件

上传 Java 项目到 git 上进行版本管理,一般都会有一个忽略文件 .gitignore 这个文件用来将一些不需要上传的文件进行过滤

git 提供的 模板

手动配置全局的 .gitconfig(注意路径用的是正斜杠/

[core]
excludesfile = C:/Users/alsritter/Java.gitignore

References